using System;
namespace ServiceStack.Messaging
{
	public interface IMessageHandler
	{
		Type MessageType
		{
			get;
		}
		IMessageQueueClient MqClient
		{
			get;
		}
		void Process(IMessageQueueClient mqClient);
		int ProcessQueue(IMessageQueueClient mqClient, string queueName, Func<bool> doNext = null);
		void ProcessMessage(IMessageQueueClient mqClient, object mqResponse);
		IMessageHandlerStats GetStats();
	}
}
